package com.alliky.core.share;

import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;

import androidx.annotation.NonNull;

import com.alliky.core.log.KLog;

import java.util.List;

public class UMShareUtil {

    private static final String TAG = UMShareUtil.class.getSimpleName();

    private static final String WEIXIN = "com.tencent.mm";

    private static final String WEIBO = "com.sina.weibo";

    private static final String QQ = "com.tencent.mobileqq";

    /**
     * 分享网页链接
     *
     * @param context         上下文
     * @param type            分享类型
     * @param title           分享标题
     * @param description     分享描述
     * @param shareUrl        分享链接
     * @param thumb           分享缩略图
     * @param umShareListener 分享回调
     */
//    @SuppressLint("ResourceType")
//    public static void share(Context context, ShareEnum type, String title, String description, String shareUrl, String thumb, UMShareListener umShareListener) {
//        SHARE_MEDIA shareMedia = null;
//        switch (type) {
//            case WEIXIN://微信好友
//                shareMedia = SHARE_MEDIA.WEIXIN;
//                if (!isClientAvilible(context, WEIXIN)) {
//                    Toasty.error(context, context.getString(R.string.install_wx_client)).show();
//                    return;
//                }
//                break;
//            case WEIXIN_CIRCLE://微信朋友圈
//                shareMedia = SHARE_MEDIA.WEIXIN_CIRCLE;
//                if (!isClientAvilible(context, WEIXIN)) {
//                    Toasty.error(context, context.getString(R.string.install_wx_client)).show();
//                    return;
//                }
//                break;
//            case SINA://新浪微博
//                shareMedia = SHARE_MEDIA.SINA;
//                if (!isClientAvilible(context, WEIBO)) {
//                    Toasty.error(context, context.getString(R.string.install_wb_client)).show();
//                    return;
//                }
//                break;
//            case QQ://qq
//                shareMedia = SHARE_MEDIA.QQ;
//                if (!isClientAvilible(context, QQ)) {
//                    Toasty.error(context, context.getString(R.string.install_qq_client)).show();
//                }
//                break;
//        }
//
//        //        标题：宠老板商城上线！新人1元购！
//        //        摘要: 商城汇集巅峰、勃林格、红狗、冠能等一线大牌，福利多多！
//        //        UMWeb web = new UMWeb(shareBean.getShare_url());
//        //        UMWeb web = new UMWeb("http://v61.chonglaoban.cn/#/login");
//        UMWeb web = new UMWeb(shareUrl);
//
//        if (!TextUtils.isEmpty(thumb)) {
//            web.setThumb(new UMImage(context, thumb));//设置传入显示的缩略图
//        } else {
//
//            InputStream is = context.getResources().openRawResource(R.mipmap.icon_logo);
//            Bitmap mBitmap = BitmapFactory.decodeStream(is);
//            Bitmap bitmap = BitmapUtil.changeColor(mBitmap);
//            UMImage image = new UMImage(context, bitmap);//资源文件
////        UMWeb web = new UMWeb(RecommendActivity.recommend.getUrl());
//            web.setThumb(image);  //缩略图
//        }
//
//        web.setTitle(title);//标题
//        web.setDescription(description);//标题
//        new ShareAction((Activity) context)
//                .withMedia(web)
//                .setPlatform(shareMedia)
//                .setCallback(umShareListener)
//                .share();
//    }
//
//    /**
//     * 分享图片
//     *
//     * @param context         上下文
//     * @param type            分享平台
//     * @param image           分享出去的图片
//     * @param thumb           分享缩略图
//     * @param umShareListener 分享回调
//     */
//    public static void shareImage(Context context, ShareEnum type, Bitmap image, Bitmap thumb, UMShareListener umShareListener) {
//        SHARE_MEDIA shareMedia = null;
//        switch (type) {
//            case WEIXIN://微信好友
//                shareMedia = SHARE_MEDIA.WEIXIN;
//                if (!isClientAvilible(context, WEIXIN)) {
//                    Toasty.error(context, context.getString(R.string.install_wx_client)).show();
//                    return;
//                }
//                break;
//            case WEIXIN_CIRCLE://微信朋友圈
//                shareMedia = SHARE_MEDIA.WEIXIN_CIRCLE;
//                if (!isClientAvilible(context, WEIXIN)) {
//                    Toasty.error(context, context.getString(R.string.install_wx_client)).show();
//                    return;
//                }
//                break;
//            case SINA://新浪微博
//                shareMedia = SHARE_MEDIA.SINA;
//                if (!isClientAvilible(context, WEIBO)) {
//                    Toasty.error(context, context.getString(R.string.install_wb_client)).show();
//                    return;
//                }
//                break;
//            case QQ://qq
//                shareMedia = SHARE_MEDIA.QQ;
//                if (!isClientAvilible(context, QQ)) {
//                    Toasty.error(context, context.getString(R.string.install_qq_client)).show();
//                }
//                break;
//        }
//
//        UMImage images = new UMImage(context, image);//网络图片
//        UMImage umImage = new UMImage(context, thumb);
//        images.setThumb(umImage);
//        new ShareAction((Activity) context)
//                .withMedia(images)
//                .setPlatform(shareMedia)
//                .setCallback(umShareListener)
//                .share();
//    }

    /**
     * 判断 用户是否安装微信客户端
     */
    @NonNull
    public static boolean isClientAvilible(Context context, String platform) {
        final PackageManager packageManager = context.getPackageManager();// 获取packagemanager
        List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);// 获取所有已安装程序的包信息
        if (pinfo != null) {
            for (int i = 0; i < pinfo.size(); i++) {
                String pn = pinfo.get(i).packageName;
                KLog.d(TAG, "wechat pn = " + pn);
                if (pn.equals(platform)) {
                    return true;
                }
            }
        }
        return false;
    }
}
